package angelo.controleDeEstoque.resources;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

import angelo.controleDeEstoque.dao.ProdutoDAO;
import angelo.controleDeEstoque.model.ProdutoModel;


@Path("produto")
public class ProdutoResource {
	
	@GET
	@Path("/listarProdutos")
	@Produces("application/json")
	public List<ProdutoModel> listarProdutos(){
		
		return new ProdutoDAO().verTodos();
	}
	
	@POST
	@Path("/salvar")
	@Consumes("application/json")
	public void salvar(ProdutoModel produto){
		
		ProdutoDAO produtoDAO = new ProdutoDAO();
		produtoDAO.salvar(produto);
		
	}
	
	@DELETE
	@Path("/deletar/{id}")
	@Consumes("application/json")
	public void deletar(@PathParam("id") Integer id){
		ProdutoDAO produtoDAO = new ProdutoDAO();
		produtoDAO.delete(id);
		
	}
	
	@GET
	@Path("/listarProdutoPorId/{id}")
	@Produces("application/json")
	public ProdutoModel verPorId(@PathParam("id") Integer id) {
		
		return new ProdutoDAO().pesquisarPorId(id);
	}
	
	@PUT
	@Path("/atualizar")
	@Consumes("application/json")
	public void atualizar(ProdutoModel produto){
		
		ProdutoDAO produtoDAO = new ProdutoDAO();
		produtoDAO.atualizar(produto);
	}

}
